package edu.uic.cs.cs582.process;

import java.util.Map;
import java.util.Set;

import edu.mit.jwi.item.POS;
import edu.uic.cs.cs582.data.Component;
import edu.uic.cs.cs582.process.impl.SatIndexParser.Index;

/**
 * Convert Logic Formula
 * 
 * @author Hong Wang
 *
 */
public interface LogicFormulaProcessor
{
	/**
	 * generate CNF for specified component
	 * @param component
	 * @return CNF
	 */
	//	Set<int[]> generateCNF(Component component, POS pos);
	Map<int[], Index> generateCNF(Component component, POS pos);

	/**
	 * Convert CNF into int array
	 * 
	 * @param cnf
	 * @return
	 */
	int[][] convertCnfIntoIntArrays(Set<int[]> cnf);

}
